# _*_ coding: UTF-8 _*_
# @Time     : 2021/10/20 15:05
# @Author   : Gong Yangyi
# @Site     : http://www.hzdledu.cn/
# @File     : c3s3.py
# @Software : PyCharm

# 什么是变量
# 1.实质是指向数据的内存地址
# 2.简单理解为存放数据的容器，比如杯子或柜子
# 变量的定义
a=10

# 不要用内置函数或模块做变量名
# print=5
# print(5)

#变量数据类型可变
a=10
print(type(a))
a='aaaa'
print(type(a)) #type()可以获取对象的数据类型

#对变量重新赋值，是改变变量只想的内存地址
a=10
print(id(a))
a=100
print(id(a))

#将变量赋值给变量，将内存地址给另一个变量
a=10
b=a
print(id(a))
print(id(b))
print('-----------我是分隔符------------')
#数据类型
#1.int整数
# 2.float浮点数
# 3.bool布尔值
# 4.字符串'' "" '''''' """"""""
a=10
print(type(a))

b=1.0
print(type(b))

c=True
print(type(c))

d='汇智动力'
print(type(d))

#转义字符
print('\\')
print('\'')
print('\"')
print('\n')
print('\t')
print(r'c:\temp')#r禁止转义

print('-----------我是分隔符------------')
#数据类型转换
#int():针对字符串而言，不能转换含有非数字字符的字符串
a=1.1
b=True
c='1111'
d='abcd'
print(int(a))#1
print(int(b))#1
print(int(c))#1111
#print(int(d))#报错

# float()
a=1
b=True
c='1111'
d='abcd'
print(float(a))#1.0
print(float(b))#1.0
print(float(c))#1111.0
#print(float(d))#报错

# bool():非零非空都是True
print(bool(a))#T
print(bool(b))#True
print(bool(c))#True
print(bool(d))#报错
# str()
print('-----------我是分隔符------------')
#格式化字符串
#1.占位符格式化字符串
name='吴京'
age=43
print('我的名字是：%s,我的年龄是:%d岁'%(name,age))
#指定宽度
print('我的名字是：%s,我的年龄是:%10d岁'%(name,age))
#指定宽度，高位补零
print('我的名字是：%s,我的年龄是:%010d岁'%(name,age))
pi=3.14159265
#指定小数点
print('π的值是：%10f'%(pi))
print('π的值是：%10.11f'%(pi))
#左对齐
print('π的值是：%-10f'%(pi))

print('-----------我是分隔符------------')
#2.f''函数格式化字符串
name='吴京'
age=43
print(f'我的名字是:{name},我的年龄是:{age}岁')
#指定宽度
print(f'我的名字是:{name:5},我的年龄是:{age:10}岁')
#指定小数位数
pi=3.14159265
print(f'π的值是：{pi:10.8f}')
#补零
print(f'π的值是：{pi:010f}')
#左对齐
print(f'π的值是：{pi:<010f}')
